从键盘输入三个数放在数组a[3]中,要求输出最大的数?

来源:百度知道 编辑:UC知道 时间:2024/05/21 06:22:55
用C语言写,#include<stdio.h>
main()
{int a[3],i,m;
printf("Input three number:");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
if(a[i]>a[i+1])
m=a[i];
else m=a[i+1];
while(m!=m)
{if(a[0]>a[2])
m=a[0];
else m=a[2];}
printf("%d\n",m);
} 请问高手,我这样编为什么不行的?不知道错在哪?望高手能为本人指点迷津,本人不胜感激!

#include<stdio.h>
void main()
{
int a[3],i,m;
printf("Input three number:");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
m=a[0];
for(i=1;i<3;i++)
{
if(m<a[i])
m=a[i];
}
printf("最大数是:%d",m);
}
这样做不是很好吗 ;也很简单;

for(i=0;i<3;i++) 此句的结果导致a[ i+1]溢出,改成i<2,
if(a[i]>a[i+1])
m=a[i];
一下是无用功删除,直接打印就行了
else m=a[i+1];
while(m!=m)
{if(a[0]>a[2])
m=a[0];
else m=a[2];}
printf("%d\n",m);
}

错误-for(i=0;i<3;i++) ,下面一句有i+1,所以a[i+1]可达到a[3],导致数组越界,所以应改为:
for(i=0;i<2;i++)

main()
{
int a[3],i,im=0,j;
printf("Input three number:");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(j=0;j<3;j++)
if(a[i]>a[im])
im=i;
printf("%d",a[im]);
}

从键盘输入三个数放在数组a[3]中,要求输出最大的数? 从键盘输入三个数放在数组a[3]中,然后从小到大的顺序输出? 用c语言编写从键盘输入一个数,判断是否在数组a里(1~10的整数) 从键盘输入任意三个整数a,b,c,求三个数中的最大值。 主函数定义数组a[10],从键盘输入十个数,然后调用自定义函数求出最小的元素,最后在主函数中输出结果 从键盘输入三个数a,b,c,求出其中的最小值。 已知存在有序数组 int a[10]={1,2,3,4,5,6,7,8,910}; 请利用二分法判断该数组中是否存在数x,x从键盘输入 C 编程 从键盘输入三个数 求这三个数的阶乘和 从键盘输入一个数,查找该数在一个给定的数组中出现的次数,并打印出现的位置(即下标) VB编程:从键盘输入三个数,求其中最大数和最小数